- add_to_breadcrumbs _("Users"), admin_users_path
- breadcrumb_title @user.name
- page_title @user.name, _("Users")
= render 'admin/users/head'

.row
  .col-md-6
    = render Pajamas::CardComponent.new(card_options: { class: 'gl-mb-5' }, body_options: { class: 'gl-py-2'}) do |c|
      - c.with_header do
        = @user.name
      - c.with_body do
        %ul.content-list
          %li
            = render Pajamas::AvatarComponent.new(@user, size: 64, class: 'gl-mr-3')
          %li
            %span.light= _('Profile page:')
            %strong
              = link_to user_path(@user) do
                = @user.username
    -# Rendered on mobile only so order of cards can be different on desktop vs mobile
    .gl-md-display-none
      = render 'admin/users/profile', user: @user
      = render 'admin/users/user_detail_note'
    = render Pajamas::CardComponent.new(card_options: { class: 'gl-mb-5' }, body_options: { class: 'gl-py-2'}) do |c|
      - c.with_header do
        = _('Account:')
      - c.with_body do
        %ul.content-list
          %li
            %span.light= _('Name:')
            %strong= @user.name
          %li
            %span.light= _('Username:')
            %strong
              = @user.username
          %li
            %span.light= _('Email:')
            %strong
              = render partial: 'shared/email_with_badge', locals: { email: mail_to(@user.email), verified: @user.confirmed? }
          - @user.emails.reject(&:user_primary_email?).each do |email|
            %li
              %span.light= _('Secondary email:')
              %strong
                = render partial: 'shared/email_with_badge', locals: { email: email.email, verified: email.confirmed? }
              = link_button_to nil, remove_email_admin_user_path(@user, email), data: { confirm: _("Are you sure you want to remove %{email}?") % { email: email.email }, 'confirm-btn-variant': 'danger' }, method: :delete, class: 'float-right', title: _('Remove secondary email'), id: "remove_email_#{email.id}", variant: :danger, size: :small, icon: 'close'
          %li
            %span.light ID:
            %strong{ data: { qa_selector: 'user_id_content' } }
              = @user.id
          %li
            %span.light= _('Namespace ID:')
            %strong
              = @user.namespace_id

          %li.two-factor-status
            %span.light= _('Two-factor Authentication:')
            %strong{ class: @user.two_factor_enabled? ? 'cgreen' : 'cred' }
              - if @user.two_factor_enabled?
                = _('Enabled')
                = link_button_to _('Disable'), disable_two_factor_admin_user_path(@user), aria: { label: _('Disable') }, data: { confirm: _('Are you sure?'), 'confirm-btn-variant': 'danger' }, method: :patch, class: 'float-right', title: _('Disable Two-factor Authentication'), variant: :danger, size: :small
              - else
                = _('Disabled')

          = render_if_exists 'admin/namespace_plan_info', namespace: @user.namespace

          %li
            %span.light= _('External User:')
            %strong
              = @user.external? ? _('Yes') : _('No')

          = render_if_exists 'admin/users/provisioned_by', user: @user

          %li
            %span.light= _('Can create groups:')
            %strong
              = @user.can_create_group ? _('Yes') : _('No')
          %li
            %span.light= _('Private profile:')
            %strong
              = @user.private_profile ? _('Yes') : _('No')
          %li
            %span.light= _('Personal projects limit:')
            %strong
              = @user.projects_limit
          %li
            %span.light= _('Member since:')
            %strong
              = @user.created_at.to_fs(:medium)
          - if @user.confirmed_at
            %li
              %span.light= _('Confirmed at:')
              %strong
                = @user.confirmed_at.to_fs(:medium)
          - else
            %li
              %span.ligh= _('Confirmed:')
              %strong.cred
                = _('No')

          %li
            %span.light= _('Current sign-in IP:')
            %strong
              = @user.current_sign_in_ip || _('never')

          %li
            %span.light= _('Current sign-in at:')
            %strong
              = @user.current_sign_in_at&.to_fs(:medium) || _('never')

          %li
            %span.light= _('Last sign-in IP:')
            %strong
              = @user.last_sign_in_ip || _('never')

          %li
            %span.light= _('Last sign-in at:')
            %strong
              = @user.last_sign_in_at&.to_fs(:medium) || _('never')

          %li
            %span.light= _('Sign-in count:')
            %strong
              = @user.sign_in_count

          %li
            %span.light= _("Highest role:")
            %strong
              = Gitlab::Access.human_access_with_none(@user.highest_role)

          = render_if_exists 'admin/users/using_license_seat', user: @user

          - if @user.ldap_user?
            %li
              %span.light= _('LDAP uid:')
              %strong
                = @user.ldap_identity.extern_uid

          - if @user.created_by
            %li
              %span.light= _('Created by:')
              %strong
                = link_to @user.created_by.name, [:admin, @user.created_by]

          = render_if_exists 'namespaces/shared_runner_status', namespace: @user.namespace

    = render_if_exists 'admin/users/credit_card_info', user: @user, link_to_match_page: true

    = render 'shared/custom_attributes', custom_attributes: @user.custom_attributes

  -# Rendered on desktop only so order of cards can be different on desktop vs mobile
  .col-md-6.gl-display-none.gl-md-display-block
    = render 'admin/users/profile', user: @user
    = render 'admin/users/user_detail_note'
